import utils from '../../utils/index'

var app = getApp();

var openid;

Page({
  data: {
    hideauthbtn: true,
    openid: ''
  },
  onShow(options) {
    console.log('onShow');

    wx.BaaS.login().then(() => {
      var userinfo = wx.BaaS.storage.get('userinfo'); // 初次授权后，再关闭，依然可以读取缓存哦
      if (userinfo) {
        console.log("隐藏授权按钮")
        this.setData({
          hideauthbtn: true
        })
      }
    }, res => {
      console.log("显示授权按钮");
      this.setData({
        hideauthbtn: false
      })
    })

    // 根据wx.getSetting判断是否授权
    wx.getSetting({
      success: (res) => {
        if (res.authSetting["scope.userInfo"]) {
          console.log("用户同意授权!");
          wx.showToast({
            title: '用户同意授权!',
          })
          this.setData({
            hideauthbtn: true
          })
        } else {
          console.log("用户拒绝授权!");
          wx.showToast({
            title: '用户拒绝授权!',
          })
          this.setData({
            hideauthbtn: false
          })
        }
      }
    })

  },
  // 每次打开页面，只执行一次
  onLoad(options) {

    // 如何读取本地缓存：openid
    openid = wx.BaaS.storage.get('openid');
    if (openid) {
      console.log("缓存 openid=" + openid);
      this.setData({
        openid: openid
      })
    }

    // wx.BaaS.login
    wx.BaaS.login().then(() => {
      // 允许授权 走这里
      console.log("允许授权（可以获取昵称，头像）");
      this.setData({
        profile: wx.BaaS.storage.get('userinfo') // 读取本地缓存（该方式目前暂不支持获取自定义字段）。
      })
    }, res => {
      // 拒绝授权 走这里
      console.log("默认可以获取openid(无需用户授权)");
      openid = wx.BaaS.storage.get('openid');
      if (openid) {
        this.setData({
          openid: openid
        })
      }
    })

  },
  // 用户授权对话框 回调处理（若要使用 SDK 的支付等接口，wx.BaaS.handleUserInfo 必须被调用）
  userInfoHandler(data) {

    wx.BaaS.handleUserInfo(data).then(res => {
      console.log("授权成功!");
      // 隐藏 授权按钮
      this.setData({
        hideauthbtn: true
      })
      wx.BaaS.login().then(() => {
        console.log("成功 获取用户详情！");
        this.setData({
          profile: wx.BaaS.storage.get('userinfo') // 读取本地缓存（该方式目前暂不支持获取自定义字段）。
        })
      })
    }, res => {
      console.log("授权失败!"); // 只能获取openid
    })
  },

})